/* -*-jde-*- */
package ui.recuperarPass;

import app.util.NuevaContrasenia;
import app.util.appException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;

/**
 *
 *
 * @author Victor Miguel Peralta Santa Anna
 * @since Enero 2012
 * @version 0.1
 */
@ManagedBean(name = "recuperaPassAL")
@SessionScoped
public class recuperaPassAL extends recuperaPassBean {

    public recuperaPassAL() {
    }

    public String reestablecePass() {
        try {

            NuevaContrasenia.nuevaContrasenia(getUsuario(), getCorreo());

            return "/RecuperarPassword/exitoRecuperarPass?faces-redirect=true";

        } catch (appException ex) {
            //Logger.getLogger(recuperaPassAL.class.getName()).log(Level.SEVERE, null, ex);
            FacesContext.getCurrentInstance().addMessage(null,
                    new FacesMessage(FacesMessage.SEVERITY_ERROR,
                    "Error de Autenticación",
                    "La contraseña no se puede reestablecer con los valores dados"));
            return "";
        }
    }

    public String cambiaPass() {
        try {

            NuevaContrasenia.cambiaContrasenia(getUsuario(), getCorreo(), getContrasenaNueva(), getContrasenaNuevaConfirma());

            FacesContext.getCurrentInstance().addMessage(null,
                    new FacesMessage(FacesMessage.SEVERITY_INFO,
                    "Contraseña cambiada.",
                    "Recibirá un correo electrónico indicando este cambio."));

            return "";

        } catch (appException ex) {
            //Logger.getLogger(recuperaPassAL.class.getName()).log(Level.SEVERE, null, ex);
            FacesContext.getCurrentInstance().addMessage(null,
                    new FacesMessage(FacesMessage.SEVERITY_ERROR,
                    "Error de Autenticación",
                    "La contraseña no se puede reestablecer con los valores dados"));
            return "";
        }
    }

    public String cambiaPassEmpresa() {
        try {

            NuevaContrasenia.cambiaContraseniaEmpresa(getUsuario(), getCorreo(), getContrasenaNueva(), getContrasenaNuevaConfirma());

            FacesContext.getCurrentInstance().addMessage(null,
                    new FacesMessage(FacesMessage.SEVERITY_INFO,
                    "Contraseña cambiada.",
                    "Recibirá un correo electrónico indicando este cambio."));

            return "";

        } catch (appException ex) {
            //Logger.getLogger(recuperaPassAL.class.getName()).log(Level.SEVERE, null, ex);
            FacesContext.getCurrentInstance().addMessage(null,
                    new FacesMessage(FacesMessage.SEVERITY_ERROR,
                    "Error de Autenticación",
                    "La contraseña no se puede reestablecer con los valores dados"));
            return "";
        }
    }
}
